package com.js.purs.service;

import java.util.List;

import com.js.basic.api.RemoteBasicService;
import com.js.basic.api.model.CodeRules;
import com.js.purs.domain.PurProdBudget;
import com.js.purs.domain.PurProdInfo;
import com.js.purs.domain.PurProdPlan;
import com.ruoyi.common.core.web.domain.AjaxResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 采购计划.审批通过后生成招标项目Service接口
 *
 * @author lzq
 * @date 2024-06-11
 */
public interface IPurProdPlanService {
    /**
     * 查询采购计划.审批通过后生成招标项目
     *
     * @param planCode 采购计划.审批通过后生成招标项目主键
     * @return 采购计划.审批通过后生成招标项目
     */
    public PurProdPlan selectPurProdPlanByPlanCode(String planCode);

    /**
     * 查询采购计划.审批通过后生成招标项目列表
     *
     * @param purProdPlan 采购计划.审批通过后生成招标项目
     * @return 采购计划.审批通过后生成招标项目集合
     */
    public List<PurProdPlan> selectPurProdPlanList(PurProdPlan purProdPlan);

    /**
     * 新增采购计划.审批通过后生成招标项目
     *
     * @param purProdPlan 采购计划.审批通过后生成招标项目
     * @return 结果
     */
    public int insertPurProdPlan(PurProdPlan purProdPlan);

    /**
     * 修改采购计划.审批通过后生成招标项目
     *
     * @param purProdPlan 采购计划.审批通过后生成招标项目
     * @return 结果
     */
    public int updatePurProdPlan(PurProdPlan purProdPlan);

    /**
     * 批量删除采购计划.审批通过后生成招标项目
     *
     * @param planCodes 需要删除的采购计划.审批通过后生成招标项目主键集合
     * @return 结果
     */
    public int deletePurProdPlanByPlanCodes(String[] planCodes);

    /**
     * 删除采购计划.审批通过后生成招标项目信息
     *
     * @param planCode 采购计划.审批通过后生成招标项目主键
     * @return 结果
     */
    int deletePurProdPlanByPlanCode(String planCode);


    /**
     * 通过表名获取该表编码
     */
    AjaxResult getPlanCode(String tableName);

    /**
     * 批量修改+增加
     */

    List<PurProdPlan> selectPurProdPlanByFinish();

    List<PurProdPlan> selectPurProdPlanByFinishNewBest();

    int delPursByPlanCode(String planCode);

}
